-- *****************************************************************
-- CISCO-TELEPRESENCE-CALL-MIB.my: Cisco MIB to manage a
-- Telepresence call.
-- Copyright (c) 2007 - 2008 by Cisco Systems Inc.
-- All rights reserved.
--   
-- ****************************************************************

CISCO-TELEPRESENCE-CALL-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter64,
    Unsigned32,
    Integer32,
    Gauge32,
    TimeTicks,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    RowStatus,
    TruthValue,
    DateAndTime,
    VariablePointer
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InetAddress,
    InetAddressType
        FROM INET-ADDRESS-MIB
    Unsigned64
        FROM CISCO-TC
    ciscoMgmt
        FROM CISCO-SMI;


ciscoTelepresenceCallMIB MODULE-IDENTITY
    LAST-UPDATED    "200809170000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cochan@cisco.com"
    DESCRIPTION
        "The MIB module defines the managed objects for
        Telepresence calls.

        Telepresence refers to a set of technologies which 
        allow a person to feel as if they were present, to give 
        the appearance that they were present, or to have an 
        effect, at a location other than their true location.

        Telepresence call is an audio-video call; however, some 
        Telepresence systems also support audio addin call.

        Different security levels are supported in some Telepresence
        systems; security level may be specified from call management 
        system.

        Some Telepresence systems support Telepresence meeting, the 
        agent of the corresponding systems may also support
        CISCO-TELEPRESENCE-MEETING-MIB."
    REVISION        "200809170000Z"
    DESCRIPTION
        "Updated the description on default value setting for the objects
        ctpcStatRisingThreshold and ctpcStatFallingThreshold.
        Added new enumeration 'unknown' to ctpcType and ctpcDirection.
        Updated the unit of ctpcTxTotalBytes and ctpcTxTotalPackets."
    REVISION        "200801230000Z"
    DESCRIPTION
        "Updated the description on CtpcEntry."
    REVISION        "200712280000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 644 }



-- Textual Conventions

CtpcE164Address ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "32t"
    STATUS          current
    DESCRIPTION
        "A UTF-8 string limited to the character set defined for
        E.164, '0123456789*#,<quote>'.
        Note that <quote> represents the double quote which
        cannot be contained in a SMI description clause."

    REFERENCE       "ITU-T E.164"
    SYNTAX          OCTET STRING (SIZE (1..32))

CtpcStreamMediaType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention identifies a call stream type. A
        Telepresence call has two media streams, video and audio while 
        an audio add-in call only has one media stream, audio.

           video (1) -- Video stream of a call.
           audio (2) -- Audio stream of a call."
    SYNTAX          INTEGER  {
                        video(1),
                        audio(2)
                    }

CtpcStreamSourceType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention identifies the stream source of a call.
        secCodec1   (1) -- First secondary CODEC stream
        priCodec    (2) -- Primary CODEC stream
        secCodec2   (3) -- Second secondary CODEC stream
        auxiliary   (4) -- Auxiliary stream like presentation stream.
        secLegacy1  (5) -- Legacy stream generated by first
                           secondary CODEC for legacy system.
        priLegacy   (6) -- Legacy stream generated by Primary CODEC 
                           for legacy system.
        secLegacy2  (7) -- Legacy stream generated by second
                           secondary CODEC for legacy system."
    SYNTAX          INTEGER  {
                        secCodec1(1),
                        priCodec(2),
                        secCodec2(3),
                        auxiliary(4),
                        secLegacy1(5),
                        priLegacy(6),
                        secLegacy2(7)
                    }

CtpcStateCode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies a call state.
        unknown            (1)  -- 
            The system does not know what state that the call is in.
        other              (2)  -- 
            The call is in a state not listed.
        noMgmtSysConn      (3)  -- 
            The call cannot be dialed out due to no call
            management system connection. It is applicable only
            if the system is in 'mgmtSys' mode.
        noDialTone         (4)  -- 
            The call cannot be dialed out due to no line is 
            available.
        invalidNumber      (5)  -- 
            The directory number of the remote party is invalid.
        ringing            (6)  -- 
            The call is waiting to be answered.
        noAnswer           (7)  -- 
            The call is not answered.        
        inProgress         (8)  -- 
            The call is in progress. 
        remoteHold         (9) -- 
            The call is on hold by remote party.
        shareLineActive    (10) -- 
            The call is being picked up by other share line device.
        inLocalConference  (11) -- 
            The call is in local conference mode.
        terminatedByError  (12) -- 
            The call is terminated because of error.
        localHold          (13)  -- 
            The call is on hold by local party.
        terminatedNormally (14) --                                            
            The call is terminated normally.
        answer             (15) -- 
            Answer an incoming call.
        resume             (16) --
            Resume a call from local hold."
    SYNTAX          INTEGER  {
                        unknown(1), -- the following twelve values are
                                    -- states: these value may be read,
                                    -- but not written
                        other(2),
                        noMgmtSysConn(3),
                        noDialTone(4),
                        invalidNumber(5),
                        ringing(6),
                        noAnswer(7),
                        inProgress(8),
                        remoteHold(9),
                        shareLineActive(10),
                        inLocalConference(11),
                        terminatedbyError(12),
                        localHold(13), -- the following value are state
                                       -- which may be read or written
                        terminatedNormally(14),
                        answer(15), -- the following value is action which
                                    -- may be written but not read
                        resume(16)
                    }

CtpcStatMonitoredAttribute ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies the monitoring type for a
        Telepresence call.
           latency           (1) -- 
                Round trip latency measurement.
           jitter            (2) -- 
                Jitter of incoming and/or outgoing frames.
           packetLoss        (3) -- 
                Percentage of packet loss for the incoming and/or
                outgoing packets.
           authFailurePacket (4) -- 
                Number of packets which has Secured Real-Time
                Protocol (SRTP) or Secured Real-Time Control
                Protocol (SRTCP) authentication failure."
    SYNTAX          INTEGER  {
                        latency(1),
                        jitter(2),
                        packetLoss(3),
                        authFailurePacket(4)
                    }

CtpcStatMonitoredAttributeUnit ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies a Telepresence call
        monitoring type's measuring unit which is milliseconds, 
        micropercent (10^-6 percent) or number of packets."
    SYNTAX          INTEGER  {
                        milliseconds(1),
                        micropercent(2),
                        packets(3)
                    }

CtpcStatAlarmMode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies the monitoring alarm mode.
        risingAlarm          (1) -- 
            Alarm will be generated if first sample is greater 
            than or equal to rising threshold.
        fallingAlarm         (2) -- 
            Alarm will be generated if first sample is less         
            than or equal to falling threshold.
        risingOrFallingAlarm (3) -- 
            Alarm will be generated if first sample is greater         
            than or equal to rising threshold or less than or
            equal to falling threshold."
    SYNTAX          INTEGER  {
                        risingAlarm(1),
                        fallingAlarm(2),
                        risingOrFallingAlarm(3)
                    }

CtpcStatThreshCrossedType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies the monitoring threshold
        cross type.
            risingThreshold  (1) -- 
                The sample data has crossed the rising threshold.
            fallingThreshold (2) -- 
                The sample data has crossed the falling threshold."
    SYNTAX          INTEGER  {
                        risingThreshold(1),
                        fallingThreshold(2)
                    }
ciscoTelepresenceCallMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIB 0 }

ciscoTelepresenceCallMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIB 1 }

ciscoTelepresenceCallMIBConform  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIB 2 }

ctpcObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBObjects 1 }

ctpcInfoObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBObjects 2 }

ctpcStatMonitorObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBObjects 3 }

ctpcStatObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBObjects 4 }

ctpcStatEventHistory  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBObjects 5 }


-- Cisco Telepresence Call Configuration Group

ctpcStatNotifyEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object controls generation of notifications for the
        real-time call statistics data monitoring.

        Call statistics monitoring threshold can be set by creating
        a corresponding ctpcStatMonitoredEntry. Notification will be
        generated based on the value of the ctpcStatStartupAlarm and
        the thresholds.

        When the object is 'true', the agent will generate
        notification when the monitoring threshold is crossed.

        When the object is 'false', the agent will not
        generate notification when the monitoring threshold is crossed."
    DEFVAL          { false } 
    ::= { ctpcObjects 1 }

ctpcMgmtSysConnNotifyEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object controls generation of notifications for
        call management system connection failure.

        When the object is 'true', the agent will generate
        notification when call management system connection failure.

        When the object is 'false', the agent will not
        generate notification when call management system connection 
        failure."
    DEFVAL          { false } 
    ::= { ctpcObjects 2 }

-- CTS Call Information Group

ctpcLocalAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the type of address contained in
        the corresponding instance of ctpcLocalAddr." 
    ::= { ctpcInfoObjects 1 }

ctpcLocalAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the address of the system in the format
        given by the corresponding instance of ctpcLocalAddrType." 
    ::= { ctpcInfoObjects 2 }

ctpcLocalDirNumTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcLocalDirNumEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table of information about E.164 numbers assigned to the
        Telepresence system.

        The directory numbers usually are specified by the call 
        management system.

        Some Telepresence systems have only one E.164 number assigned."
    ::= { ctpcInfoObjects 3 }

ctpcLocalDirNumEntry OBJECT-TYPE
    SYNTAX          CtpcLocalDirNumEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing information about one E.164 number."
    INDEX           { ctpcLocalDirNumIndex } 
    ::= { ctpcLocalDirNumTable 1 }

CtpcLocalDirNumEntry ::= SEQUENCE {
        ctpcLocalDirNumIndex Unsigned32,
        ctpcLocalDirNum      CtpcE164Address
}

ctpcLocalDirNumIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The object specifies a unique index for a local directory
        number entry associates to the system." 
    ::= { ctpcLocalDirNumEntry 1 }

ctpcLocalDirNum OBJECT-TYPE
    SYNTAX          CtpcE164Address
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the directory number of the Telepresence
        system." 
    ::= { ctpcLocalDirNumEntry 2 }
 


ctpcMode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        noMgmtSys(1),
                        mgmtSys(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the system configured call mode. It
        indicates if the call is processed by call management system  
        or not.

        nonMgmtSys(1) -- 
            Telepresence system that does not connect to any call
            management system such as Cisco Unified Communication
            Manager (CUCM).
        mgmtSys   (2) -- 
            Telepresence system that connects to a call management
            system.

        Note that some Telepresence systems support 'mgmtSys' only." 
    ::= { ctpcInfoObjects 4 }

ctpcActiveMgmtSysIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of ctpcMgmtSysIndex
        which the Telepresence system currently connects.

        If the system is in 'nonMgmtSys' mode, this object will have
        value '0'" 
    ::= { ctpcInfoObjects 5 }

ctpcMgmtSysTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcMgmtSysEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table of configured call management systems."
    ::= { ctpcInfoObjects 6 }

ctpcMgmtSysEntry OBJECT-TYPE
    SYNTAX          CtpcMgmtSysEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about a call management system."
    INDEX           { ctpcMgmtSysIndex } 
    ::= { ctpcMgmtSysTable 1 }

CtpcMgmtSysEntry ::= SEQUENCE {
        ctpcMgmtSysIndex    Unsigned32,
        ctpcMgmtSysAddrType InetAddressType,
        ctpcMgmtSysAddr     InetAddress
}

ctpcMgmtSysIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique index for a call
        management system entry." 
    ::= { ctpcMgmtSysEntry 1 }

ctpcMgmtSysAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the type of address contained in the
        corresponding instance of ctpcMgmtSysAddr." 
    ::= { ctpcMgmtSysEntry 2 }

ctpcMgmtSysAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies a call management system address
        which a Telepresence system can connect to if it is in 
        'mgmtSys' mode. 

        It is in the format given by the corresponding  
        instance of ctpcMgmtSysAddrType." 
    ::= { ctpcMgmtSysEntry 3 }
 

-- Cisco Telepresence Call Statistical Data Monitoring

ctpcStatMonitoredTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcStatMonitoredEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table of configuration information for the monitoring of
        statistics of active Telepresence calls.

        The monitoring feature has a hysteresis mechanism to limit the 
        generation of events.  This mechanism generates one event as a
        threshold is crossed in the appropriate direction.  No more
        events are generated for that threshold until the opposite
        threshold is crossed."
    ::= { ctpcStatMonitorObjects 1 }

ctpcStatMonitoredEntry OBJECT-TYPE
    SYNTAX          CtpcStatMonitoredEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains a particular threshold
        configuration on an attribute for a stream type.

        For example, if latency of video stream is configured; average 
        period latency of active Telepresence calls will be monitored.

        A management station wishing to monitor a call statistical 
        attribute should create the associated instance of the row 
        status.

        Once the appropriate instance of all the configuration objects 
        have been created, either by an explicit SNMP set request or by 
        default, the row status should be set to 'active' to initiate 
        the monitoring request. Note that only active call streams are
        monitored."
    INDEX           {
                        ctpcStatMonitoredType,
                        ctpcStatMonitoredStreamType
                    } 
    ::= { ctpcStatMonitoredTable 1 }

CtpcStatMonitoredEntry ::= SEQUENCE {
        ctpcStatMonitoredType       CtpcStatMonitoredAttribute,
        ctpcStatMonitoredStreamType INTEGER,
        ctpcStatMonitoredUnit       CtpcStatMonitoredAttributeUnit,
        ctpcStatRisingThreshold     Unsigned32,
        ctpcStatFallingThreshold    Unsigned32,
        ctpcStatStartupAlarm        CtpcStatAlarmMode,
        ctpcStatMonitoredStatus     RowStatus
}

ctpcStatMonitoredType OBJECT-TYPE
    SYNTAX          CtpcStatMonitoredAttribute
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a statistical attribute which to be
        monitored." 
    ::= { ctpcStatMonitoredEntry 1 }

ctpcStatMonitoredStreamType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        all(0),
                        video(1),
                        audio(2)
                    }
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a active Telepresence stream type
        which to be monitored.

        If the value of this object is 'all', all stream types are
        monitored with the corresponding ctpcStatRisingThreshold 
        and/or ctpcStatFallingThreshold for ctpcStatMonitoredType.

        Moreover, if this value is 'all', there cannot be another 
        row for the same value of ctpcStatMonitoredType which is either 
        'video' or 'audio'.

        If ctpcStatMonitoredType has value latency(1) or 
        authFailurePacket(4), this object will have value '0'.

        Note that some Telepresence systems may not support different 
        thresholds for different stream type." 
    ::= { ctpcStatMonitoredEntry 2 }

ctpcStatMonitoredUnit OBJECT-TYPE
    SYNTAX          CtpcStatMonitoredAttributeUnit
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the corresponding unit of a
        monitoring attribute.

        The following table lists the possible values of
        this object, given the value of the corresponding instance 
        of ctpcStatMonitoredType.

        ctpcStatMonitoredType      ctpcStatMonitoredUnit
        ----------------------------------------------------
        latency(1)                 milliseconds(1)
        jitter(2)                  milliseconds(1)
        packetLoss(3)              micropercent(2)
        authFailurePacket(4)       packets(3)" 
    ::= { ctpcStatMonitoredEntry 3 }

ctpcStatRisingThreshold OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the rising threshold of a monitoring
        attribute.

        When the call period value of the corresponding attribute
        is greater than or equal to this threshold, a single event
        will be generated.
        A single event will also be generated if the first call period
        value of the corresponding attribute after this entry becomes
        'active' is greater than or equal to this threshold and the
        associated ctpcStatStartupAlarm is equal to risingAlarm(1) or
        risingOrFallingAlarm(3).

        After a rising event is generated, another such event will not
        be generated until the call period value of the corresponding
        attribute falls below this threshold and reaches the
        corresponding ctpcStatFallingThreshold.

        If this object is not specified when the row is created,
        default value based on the value of the corresponding
        instance of ctpcStatMonitoredType may be set by the agent.

        This object may not be modified if the associated
        ctpcStatMonitoredStatus object is equal to 
        active(1)." 
    ::= { ctpcStatMonitoredEntry 4 }

ctpcStatFallingThreshold OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the falling threshold of a monitoring
        attribute.

        When the call period value of the corresponding attribute
        is less than or equal to this threshold, 
        [ and the value at the last sampling interval was greater than
         this threshold, ]
        a single event will be generated.
        A single event will also be generated if the first call period
        value of the corresponding attribute after this entry becomes
        'active' is less than or equal to this threshold and the
        associated ctpcStatStartupAlarm is equal to fallingAlarm(1) or
        risingOrFallingAlarm(3).

        After a falling event is generated, another such event will not
        be generated until the call period value of the corresponding
        attribute rises above this threshold and reaches the
        corresponding ctpcStatRisingThreshold.

        If this object is not specified when the row is created,
        default value based on the value of the corresponding
        instance of ctpcStatMonitoredType may be set by the agent.

        This object may not be modified if the associated
        ctpcStatMonitoredStatus object is equal to 
        active(1)." 
    ::= { ctpcStatMonitoredEntry 5 }

ctpcStatStartupAlarm OBJECT-TYPE
    SYNTAX          CtpcStatAlarmMode
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the alarm that may be sent
        after the entry is first set to valid.

        If the first sample after this entry becomes valid is 
        greater than or equal to the ctpcStatRisingThreshold and 
        ctpcStatStartupAlarm is equal to risingAlarm(1) or 
        risingOrFallingAlarm(3), then a single rising alarm will be 
        generated.

        If the first sample after this entry becomes valid is
        less than or equal to the ctpcStatFallingThreshold and 
        ctpcStatStartupAlarm is equal to fallingAlarm(2) or
        risingOrFallingAlarm(3), then a single falling alarm will be
        generated.

        This object may not be modified if the associated
        ctpcStatMonitoredStatus object is equal to 
        active(1)."
    DEFVAL          { risingOrFallingAlarm } 
    ::= { ctpcStatMonitoredEntry 6 }

ctpcStatMonitoredStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of ctpcStatMonitoredEntry.
        Once the entry status is set to 'active', the call statistics 
        monitoring will be started.

        If this object is set to 'notInService' or 'destroy', the 
        monitoring will be disabled to the corresponding stream type 
        on the corresponding monitoring attribute." 
    ::= { ctpcStatMonitoredEntry 7 }
 


ctpcStatOverallCalls OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies total number of calls since Telepresence
        system was first in service.

        When it reaches a maximum value of 2^32-1
        (4294967295 decimal), it wraps around and starts increasing
        again from '1'." 
    ::= { ctpcStatObjects 1 }

ctpcStatOverallCallTime OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies elapsed time of calls
        since Telepresence system was first in service.

        When it reaches a maximum value of 2^32-1
        (4294967295 decimal), it wraps around and starts increasing
        again from '1'." 
    ::= { ctpcStatObjects 2 }

ctpcStatTotalCalls OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies total number of calls since Telepresence
        system was last rebooted.

        When it reaches a maximum value of 2^32-1
        (4294967295 decimal), it wraps around and starts increasing
        again from '1'." 
    ::= { ctpcStatObjects 3 }

ctpcStatTotalCallTime OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies elapsed time of calls
        since Telepresence system was last rebooted.

        When it reaches a maximum value of 2^32-1
        (4294967295 decimal), it wraps around and starts increasing
        again from '1'." 
    ::= { ctpcStatObjects 4 }

ctpcSamplePeriod OBJECT-TYPE
    SYNTAX          Unsigned32 (10..300)
    UNITS           "seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies a sample period by which the following
        objects are based on:

            ctpcAvgPeriodLatency,
            ctpcMaxPeriodLatency,
            ctpcTxPeriodLostPackets,
            ctpcRxPeriodLostPackets,
            ctpcAvgPeriodJitter,
            ctpcMaxPeriodJitter"
    DEFVAL          { 10 } 
    ::= { ctpcStatObjects 5 }

-- Call Table Configuration

ctpcTableSize OBJECT-TYPE
    SYNTAX          Integer32 (-1..500)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum number of entries of the
        ctpcTable.

        Some agents restrict the value of this object to be less than
        500.

        When the capacity of the ctpcTable has reached
        the value specified by this object, then the agent 
        deletes the oldest entry in order to accommodate
        the new entry.

        When this object is set to '-1', ctpcTableSize will not set
        maximum entries that ctpcTable is contained.

        The table size in turns may be limited by the associated MIB
        such as CISCO-TELEPRESENCE-MEETING-MIB."
    DEFVAL          { 10 } 
    ::= { ctpcStatObjects 6 }

ctpcTableLastIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the ctpcIndex object
        corresponding to the last entry added to the table.

        When it reaches a maximum value of 2^32-1
        (4294967295 decimal), it wraps around and starts increasing
        again from '1'." 
    ::= { ctpcStatObjects 7 }
-- Call Table

ctpcTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table for Telepresence call information.

        After management system initialization (i.e. when 
        sysUpTime is reset to zero), this table
        records all calls until it reaches its capacity
        specifed in ctpcTableSize. Thereafter, it remains full
        by retaining the most recent calls information."
    ::= { ctpcStatObjects 8 }

ctpcEntry OBJECT-TYPE
    SYNTAX          CtpcEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information of a Telepresence supported
        call.

        Some Telepresence systems support both audio-video call and
        audio-addin call. 

        A management station wishing to create a call should create
        the associated instance of the row status and the remote 
        directory number objects.  ctpcIndex should be set to the 
        next-to-be-assigned number of ctpcTableLastIndex.

        An instance of ctpcRemoteDirNum is required to create
        a call.

        Once the appropriate instance of all the configuration
        objects have been created, the row status should be set
        to active to initiate the request. Note that this entire
        procedure may be initiated via a single set request which
        specifies a row status of createAndGo.

        Once a call entry has been activated, it cannot be stopped.

        Instance of ctpcState on the created row reports the
        latest status of the newly created call.

        If a Telepresence system receives a call, a unique index will 
        be chosen and an entry will be created by the agent,
        ctpcRowStatus will be set to active, and
        ctpcRemoteDirNum will be filled by agent if it is known."
    INDEX           { ctpcIndex } 
    ::= { ctpcTable 1 }

CtpcEntry ::= SEQUENCE {
        ctpcIndex            Unsigned32,
        ctpcRemoteDirNum     CtpcE164Address,
        ctpcLocalSIPCallId   SnmpAdminString,
        ctpcTxDestAddrType   InetAddressType,
        ctpcTxDestAddr       InetAddress,
        ctpcStartDateAndTime DateAndTime,
        ctpcDuration         Unsigned32,
        ctpcType             INTEGER,
        ctpcSecurity         INTEGER,
        ctpcDirection        INTEGER,
        ctpcState            CtpcStateCode,
        ctpcInitialBitRate   Unsigned32,
        ctpcLatestBitRate    Unsigned32,
        ctpcRowStatus        RowStatus
}

ctpcIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique identification of a call
        entry.

        If the chosen ctpcIndex value for the row creation
        is already in use by an existing entry, SNMP SetRequest
        to the ctpcIndex value will fail." 
    ::= { ctpcEntry 1 }

ctpcRemoteDirNum OBJECT-TYPE
    SYNTAX          CtpcE164Address
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the remote directory number of a call.

        Once the ctpcRowStatus is set to 'active', the
        ctpcRemoteDirNum cannot be changed." 
    ::= { ctpcEntry 2 }

ctpcLocalSIPCallId OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE(0..255))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the local SIP call ID."
    REFERENCE
        "RFC 3261 SIP: Session Initiation Protocol
        Section 8.1.1.4" 
    ::= { ctpcEntry 3 }

ctpcTxDestAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the address type of the corresponding
        instance of ctpcTxDestAddr." 
    ::= { ctpcEntry 4 }

ctpcTxDestAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the address of the media packets
        forwarded to in the format given by the corresponding instance
        of ctpcTxDestAddrType." 
    ::= { ctpcEntry 5 }

ctpcStartDateAndTime OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of local date and time when
        a call is started." 
    ::= { ctpcEntry 6 }

ctpcDuration OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the elapsed time since the call
        established." 
    ::= { ctpcEntry 7 }

ctpcType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        audioVideo(1),
                        audioOnly(2),
                        unknown(3) -- this value may be read
                                   -- but not written.                        
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the call type.

        audioVideo (1) -- Telepresence call.
        audioOnly  (2) -- Audio call.
        unknown    (3) -- The system cannot detect the type of a call.

        Some Telepresence systems only support audio-video call." 
    ::= { ctpcEntry 8 }

ctpcSecurity OBJECT-TYPE
    SYNTAX          INTEGER  {
                        nonSecured(1),
                        authenticated(2),
                        secured(3),
                        unknown(4) -- this value may be read but
                                   -- not written.                        
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the call security level.

        nonSecured    (1) -- 
           Neither media packets nor signaling packets are encrypted.
        authenticated (2) -- 
           Signaling packets are authenticated and/or encrypted but
           not the media packets.
        secured       (3) -- 
           Both media packets and signaling packets are encrypted.
        unknown       (4) -- 
           Cannot detect the security state of a call." 
    ::= { ctpcEntry 9 }

ctpcDirection OBJECT-TYPE
    SYNTAX          INTEGER  {
                        incoming(1),
                        outgoing(2),
                        unknown(3)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the call direction.

        incoming (1) -- The system received a call.
        outgoing (2) -- The system initiated a call.
        unknown  (3) -- The system cannot detect the direction 
                     -- of a call." 
    ::= { ctpcEntry 10 }

ctpcState OBJECT-TYPE
    SYNTAX          CtpcStateCode
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the call state." 
    ::= { ctpcEntry 11 }

ctpcInitialBitRate OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "kbps"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the initial bit rate of a Telepresence
        call." 
    ::= { ctpcEntry 12 }

ctpcLatestBitRate OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the current bit rate of a call.

        Telepresence call's bit rate may be lowered automatically 
        due to network congestion." 
    ::= { ctpcEntry 13 }

ctpcRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the entry status of ctpcEntry.
        Once ctpcRowStatus is set to 'active', the call creation 
        cannot be stopped.

        Changing the value of this object from 'active' to
        'notInService' or 'destroy' will likely have
        consequences of call termination and/or losing the
        call statistics information.
        Thus, write access to this object is inappropriate for
        most of the Telepresence systems, and many implementations
        will choose not to support write-access for this object." 
    ::= { ctpcEntry 14 }
 


ctpcStatStreamTypeTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcStatStreamTypeEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table of stream type information of a call."
    ::= { ctpcStatObjects 9 }

ctpcStatStreamTypeEntry OBJECT-TYPE
    SYNTAX          CtpcStatStreamTypeEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information on a particular stream type of
        a call.

        The entry will be deleted when the corresponding ctpcEntry
        specified by ctpcIndex is removed."
    INDEX           {
                        ctpcIndex,
                        ctpcStreamType
                    } 
    ::= { ctpcStatStreamTypeTable 1 }

CtpcStatStreamTypeEntry ::= SEQUENCE {
        ctpcStreamType            CtpcStreamMediaType,
        ctpcAvgPeriodLatency      Gauge32,
        ctpcAvgCallLatency        Gauge32,
        ctpcMaxPeriodLatency      Gauge32,
        ctpcMaxCallLatency        Gauge32,
        ctpcMaxCallLatencyRecTime Unsigned32
}

ctpcStreamType OBJECT-TYPE
    SYNTAX          CtpcStreamMediaType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the call stream type." 
    ::= { ctpcStatStreamTypeEntry 1 }

ctpcAvgPeriodLatency OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the average latency for the last
        sample period specified in ctpcSamplePeriod.

        When a call is terminated, the value will be reset to '0'." 
    ::= { ctpcStatStreamTypeEntry 2 }

ctpcAvgCallLatency OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the average latency for the duration
        of a call." 
    ::= { ctpcStatStreamTypeEntry 3 }

ctpcMaxPeriodLatency OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum latency for the last
        sample period specified in ctpcSamplePeriod.

        When a call is terminated, the value will be reset to '0'." 
    ::= { ctpcStatStreamTypeEntry 4 }

ctpcMaxCallLatency OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum latency for the duration
        of a call." 
    ::= { ctpcStatStreamTypeEntry 5 }

ctpcMaxCallLatencyRecTime OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the elapsed time since the call is
        established when the maximum latency of a call is recorded." 
    ::= { ctpcStatStreamTypeEntry 6 }
 


ctpcStatStreamSourceTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcStatStreamSourceEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table for call stream source information."
    ::= { ctpcStatObjects 10 }

ctpcStatStreamSourceEntry OBJECT-TYPE
    SYNTAX          CtpcStatStreamSourceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains a stream source information of a call.

        The entry will be deleted when the corresponding ctpcEntry
        specified by ctpcIndex is removed."
    INDEX           {
                        ctpcIndex,
                        ctpcStreamType,
                        ctpcStreamSource
                    } 
    ::= { ctpcStatStreamSourceTable 1 }

CtpcStatStreamSourceEntry ::= SEQUENCE {
        ctpcStreamSource         CtpcStreamSourceType,
        ctpcTxActive             TruthValue,
        ctpcTxTotalBytes         Counter64,
        ctpcTxTotalPackets       Counter64,
        ctpcTxLostPackets        Counter64,
        ctpcTxPeriodLostPackets  Gauge32,
        ctpcTxCallLostPackets    Gauge32,
        ctpcTxIDRPackets         Counter64,
        ctpcTxShapingWindow      Gauge32,
        ctpcRxActive             TruthValue,
        ctpcRxTotalBytes         Counter64,
        ctpcRxTotalPackets       Counter64,
        ctpcRxLostPackets        Counter64,
        ctpcRxPeriodLostPackets  Gauge32,
        ctpcRxCallLostPackets    Gauge32,
        ctpcRxOutOfOrderPackets  Counter64,
        ctpcRxDuplicatePackets   Counter64,
        ctpcRxLatePackets        Counter64,
        ctpcRxIDRPackets         Counter64,
        ctpcRxShapingWindow      Gauge32,
        ctpcRxCallAuthFailure    Counter64,
        ctpcAvgPeriodJitter      Unsigned64,
        ctpcAvgCallJitter        Unsigned64,
        ctpcMaxPeriodJitter      Unsigned64,
        ctpcMaxCallJitter        Unsigned64,
        ctpcMaxCallJitterRecTime Unsigned32
}

ctpcStreamSource OBJECT-TYPE
    SYNTAX          CtpcStreamSourceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the call stream source." 
    ::= { ctpcStatStreamSourceEntry 1 }

ctpcTxActive OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object is set to 'true' if data transmit from a
        stream source is 'active'." 
    ::= { ctpcStatStreamSourceEntry 2 }

ctpcTxTotalBytes OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "bytes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of bytes transmitted
        from a stream source." 
    ::= { ctpcStatStreamSourceEntry 3 }

ctpcTxTotalPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of packets transmitted
        from a stream source." 
    ::= { ctpcStatStreamSourceEntry 4 }

ctpcTxLostPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number packets failed to deliver
        from a stream source." 
    ::= { ctpcStatStreamSourceEntry 5 }

ctpcTxPeriodLostPackets OBJECT-TYPE
    SYNTAX          Gauge32 (0..100000000)
    UNITS           "micropercent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the micropercent of packets failed
        to deliver from a stream source within the last sample 
        period specified in ctpcSamplePeriod.

        When a call is terminated, the value will be reset to '0'." 
    ::= { ctpcStatStreamSourceEntry 6 }

ctpcTxCallLostPackets OBJECT-TYPE
    SYNTAX          Gauge32 (0..100000000)
    UNITS           "micropercent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the micropercent of packets failed
        to deliver from a stream source for the duration of
        a call." 
    ::= { ctpcStatStreamSourceEntry 7 }

ctpcTxIDRPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number of IDR packets transmitted
        from a stream source." 
    ::= { ctpcStatStreamSourceEntry 8 }

ctpcTxShapingWindow OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the time span between the last
        video packet and first video packet of a transmitted video 
        frame.

        This object is only applicable for video stream type." 
    ::= { ctpcStatStreamSourceEntry 9 }

ctpcRxActive OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object is set to 'true' if data received by
        a stream source is 'active'." 
    ::= { ctpcStatStreamSourceEntry 10 }

ctpcRxTotalBytes OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "bytes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of bytes received by
        a stream source." 
    ::= { ctpcStatStreamSourceEntry 11 }

ctpcRxTotalPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of packets received by
        a stream source." 
    ::= { ctpcStatStreamSourceEntry 12 }

ctpcRxLostPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number packets failed to reach
        a stream source." 
    ::= { ctpcStatStreamSourceEntry 13 }

ctpcRxPeriodLostPackets OBJECT-TYPE
    SYNTAX          Gauge32 (0..100000000)
    UNITS           "micropercent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the micropercent of packets failed
        to reach a stream source within the last sample period 
        specified in ctpcSamplePeriod.

        When a call is terminated, the value will be reset to '0'." 
    ::= { ctpcStatStreamSourceEntry 14 }

ctpcRxCallLostPackets OBJECT-TYPE
    SYNTAX          Gauge32 (0..100000000)
    UNITS           "micropercent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the micropercent of packets failed
        to reach a stream source." 
    ::= { ctpcStatStreamSourceEntry 15 }

ctpcRxOutOfOrderPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number packets received out of
        order by a stream source." 
    ::= { ctpcStatStreamSourceEntry 16 }

ctpcRxDuplicatePackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number duplicated packets
        received by a stream source." 
    ::= { ctpcStatStreamSourceEntry 17 }

ctpcRxLatePackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number late packets
        received by a stream source." 
    ::= { ctpcStatStreamSourceEntry 18 }

ctpcRxIDRPackets OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number of IDR packets received
        by a stream source." 
    ::= { ctpcStatStreamSourceEntry 19 }

ctpcRxShapingWindow OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the time span between the last
        video packet and first video packet of a received video frame.

        This object is only applicable for video stream type." 
    ::= { ctpcStatStreamSourceEntry 20 }

ctpcRxCallAuthFailure OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number of authenticated packets
        for which verification failed." 
    ::= { ctpcStatStreamSourceEntry 21 }

ctpcAvgPeriodJitter OBJECT-TYPE
    SYNTAX          Unsigned64
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the average jitter of a call in the
        last sample period specified in ctpcSamplePeriod.

        When a call is terminated, the value will be reset to '0'." 
    ::= { ctpcStatStreamSourceEntry 22 }

ctpcAvgCallJitter OBJECT-TYPE
    SYNTAX          Unsigned64
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the average jitter of a
        stream source for a duration of a Telepresence call." 
    ::= { ctpcStatStreamSourceEntry 23 }

ctpcMaxPeriodJitter OBJECT-TYPE
    SYNTAX          Unsigned64
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum jitter of a
        stream source for a Telepresence call
        within the last sample period specified in 
        ctpcSamplePeriod.

        When a call is terminated, the value will be reset to '0'." 
    ::= { ctpcStatStreamSourceEntry 24 }

ctpcMaxCallJitter OBJECT-TYPE
    SYNTAX          Unsigned64
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum jitter of a
        stream source within a duration of a Telepresence call." 
    ::= { ctpcStatStreamSourceEntry 25 }

ctpcMaxCallJitterRecTime OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the elapsed time since the call is
        established when the maximum jitter of a stream source is 
        recorded." 
    ::= { ctpcStatStreamSourceEntry 26 }
 


-- -
-- - Event History Group
-- -

ctpcStatEventHistTableSize OBJECT-TYPE
    SYNTAX          Unsigned32 (0..500)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the number of entries that the
        ctpcStatEventHistTable can contain.  When the 
        capacity of the ctpcStatEventHistTable has reached,
        the value specified by this object, then the agent 
        deletes the oldest entity in order to accommodate
        the new entry. A value of '0' prevents any history
        from being retained.

        Some agents restruct he value of this object to be less
        than 500."
    DEFVAL          { 10 } 
    ::= { ctpcStatEventHistory 1 }

ctpcStatEventHistLastIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the
        ctpcStatEventHistIndex object corresponding to the
        last entry added to the table by the agent.

        If the management client uses the notifications defined by
        this module, then it can poll this object to determine
        whether it has missed a notification sent by the agent." 
    ::= { ctpcStatEventHistory 2 }

ctpcStatEventHistoryTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpcStatEventHistoryEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains a history of Telepresence
        call monitoring thresholds crossed events.

        After management system initialization  (i.e. when 
        sysUpTime is reset to zero), this table
        records all notifications until it reaches its
        capacity specified in ctpcStatEventHistTableSize.
        Thereafter, it remains full by retaining the most recent 
        notifications."
    ::= { ctpcStatEventHistory 3 }

ctpcStatEventHistoryEntry OBJECT-TYPE
    SYNTAX          CtpcStatEventHistoryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about a Telepresence
        call monitoring threshold crossed event."
    INDEX           { ctpcStatEventHistoryIndex } 
    ::= { ctpcStatEventHistoryTable 1 }

CtpcStatEventHistoryEntry ::= SEQUENCE {
        ctpcStatEventHistoryIndex  Unsigned32,
        ctpcStatEventMonObjectInst VariablePointer,
        ctpcStatEventCrossedValue  Unsigned64,
        ctpcStatEventCrossedType   CtpcStatThreshCrossedType,
        ctpcStatEventTimeStamp     TimeTicks
}

ctpcStatEventHistoryIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A unique non-zero integer value that identifies a
        row in this table.

        The value of this table starts from '1' and monotonically
        increases for each threshold crossed event
        received by the agent. If the value of this object is 
        '4294967295', the agent will reset it to '1' upon receiving the 
        next event." 
    ::= { ctpcStatEventHistoryEntry 1 }

ctpcStatEventMonObjectInst OBJECT-TYPE
    SYNTAX          VariablePointer
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies a complete OID of a
        monitoring object which was crossed.

        For example, the OID of ctpcAvgPeriodLatency.1.video
        would represent video latency of a call with 
        call index '1' crossed the threshold set by the corresponding
        ctpcStatMonitoredEntry." 
    ::= { ctpcStatEventHistoryEntry 2 }

ctpcStatEventCrossedValue OBJECT-TYPE
    SYNTAX          Unsigned64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of monitoring object
        when the threshold was crossed." 
    ::= { ctpcStatEventHistoryEntry 3 }

ctpcStatEventCrossedType OBJECT-TYPE
    SYNTAX          CtpcStatThreshCrossedType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the type of threshold which
        was crossed and thereby triggered this event." 
    ::= { ctpcStatEventHistoryEntry 4 }

ctpcStatEventTimeStamp OBJECT-TYPE
    SYNTAX          TimeTicks
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the sysUpTime object at the
        time the notification was generated." 
    ::= { ctpcStatEventHistoryEntry 5 }
 


-- Telepresence Call Notifiations

ctpcMgmtSysConnFailNotification NOTIFICATION-TYPE
    OBJECTS         {
                        ctpcMgmtSysAddrType,
                        ctpcMgmtSysAddr
                    }
    STATUS          current
    DESCRIPTION
        "This notification is sent when a call management system
        connection failure occurs."
   ::= { ciscoTelepresenceCallMIBNotifs 1 }

ctpcStatNotificaion NOTIFICATION-TYPE
    OBJECTS         {
                        ctpcStatEventMonObjectInst,
                        ctpcStatEventCrossedValue,
                        ctpcStatEventCrossedType
                    }
    STATUS          current
    DESCRIPTION
        "This notification is sent when a call monitoring threshold is
        crossed."
   ::= { ciscoTelepresenceCallMIBNotifs 2 }
-- Conformance

ciscoTpCallMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBConform 1 }

ciscoTpCallMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceCallMIBConform 2 }


ciscoTpCallMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement the Cisco
        Telepresence Call MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoTpCallInformationGroup,
                        ciscoTpCallStatisticsGroup
                    }

    GROUP           ciscoTpCallConfigurationGroup
    DESCRIPTION
        "The Telepresence Call Configuration Group is optional."

    GROUP           ciscoTpCallEventHistoryGroup
    DESCRIPTION
        "The Telepresence Call Event History Group is optional."

    GROUP           ciscoTpCallNotificationGroup
    DESCRIPTION
        "The Telepresence Call Notification Group is optional."

    OBJECT          ctpcStatNotifyEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcMgmtSysConnNotifyEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcSamplePeriod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcTableSize
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcSecurity
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcInitialBitRate
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcRowStatus
    SYNTAX          INTEGER  {
                        active(1)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/delete/modify access to the ctpcRowStatus is not
        required.
        Support of the values notInService(2), notReady(3), 
        createAndGo(4), createAndWait(5), and destroy(6) are not
        required."

    OBJECT          ctpcState
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpcStatEventHistTableSize
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { ciscoTpCallMIBCompliances 1 }

-- Units of Conformance

ciscoTpCallConfigurationGroup OBJECT-GROUP
    OBJECTS         {
                        ctpcStatNotifyEnable,
                        ctpcMgmtSysConnNotifyEnable,
                        ctpcStatMonitoredUnit,
                        ctpcStatRisingThreshold,
                        ctpcStatFallingThreshold,
                        ctpcStatStartupAlarm,
                        ctpcStatMonitoredStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the call event monitoring and
        notification configuration."
    ::= { ciscoTpCallMIBGroups 1 }

ciscoTpCallInformationGroup OBJECT-GROUP
    OBJECTS         {
                        ctpcLocalDirNum,
                        ctpcLocalAddrType,
                        ctpcLocalAddr,
                        ctpcActiveMgmtSysIndex,
                        ctpcMode,
                        ctpcMgmtSysAddrType,
                        ctpcMgmtSysAddr
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing call management system
        information as well as system caller ID information."
    ::= { ciscoTpCallMIBGroups 2 }

ciscoTpCallStatisticsGroup OBJECT-GROUP
    OBJECTS         {
                        ctpcStatOverallCalls,
                        ctpcStatOverallCallTime,
                        ctpcStatTotalCalls,
                        ctpcStatTotalCallTime,
                        ctpcSamplePeriod,
                        ctpcTableSize,
                        ctpcTableLastIndex,
                        ctpcRemoteDirNum,
                        ctpcLocalSIPCallId,
                        ctpcTxDestAddrType,
                        ctpcTxDestAddr,
                        ctpcStartDateAndTime,
                        ctpcDuration,
                        ctpcType,
                        ctpcSecurity,
                        ctpcDirection,
                        ctpcState,
                        ctpcInitialBitRate,
                        ctpcLatestBitRate,
                        ctpcRowStatus,
                        ctpcAvgPeriodLatency,
                        ctpcAvgCallLatency,
                        ctpcMaxPeriodLatency,
                        ctpcMaxCallLatency,
                        ctpcMaxCallLatencyRecTime,
                        ctpcTxActive,
                        ctpcTxTotalBytes,
                        ctpcTxTotalPackets,
                        ctpcTxLostPackets,
                        ctpcTxPeriodLostPackets,
                        ctpcTxCallLostPackets,
                        ctpcTxIDRPackets,
                        ctpcTxShapingWindow,
                        ctpcRxActive,
                        ctpcRxTotalBytes,
                        ctpcRxTotalPackets,
                        ctpcRxLostPackets,
                        ctpcRxPeriodLostPackets,
                        ctpcRxCallLostPackets,
                        ctpcRxOutOfOrderPackets,
                        ctpcRxDuplicatePackets,
                        ctpcRxLatePackets,
                        ctpcRxIDRPackets,
                        ctpcRxShapingWindow,
                        ctpcRxCallAuthFailure,
                        ctpcAvgPeriodJitter,
                        ctpcAvgCallJitter,
                        ctpcMaxPeriodJitter,
                        ctpcMaxCallJitter,
                        ctpcMaxCallJitterRecTime
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing Telepresence
        call's statistical information."
    ::= { ciscoTpCallMIBGroups 3 }

ciscoTpCallEventHistoryGroup OBJECT-GROUP
    OBJECTS         {
                        ctpcStatEventHistTableSize,
                        ctpcStatEventHistLastIndex,
                        ctpcStatEventMonObjectInst,
                        ctpcStatEventCrossedValue,
                        ctpcStatEventCrossedType,
                        ctpcStatEventTimeStamp
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing Telepresence
        call monitoring crossed event information."
    ::= { ciscoTpCallMIBGroups 4 }

ciscoTpCallNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        ctpcMgmtSysConnFailNotification,
                        ctpcStatNotificaion
                    }
    STATUS          current
    DESCRIPTION
        "A collection of event notifications."
    ::= { ciscoTpCallMIBGroups 5 }

END